package guet.imagan.progbuilder.impl;

import guet.imagan.progbuilder.Project;

import java.io.File;
import java.util.List;

public class DefaultProject extends Project {
	/**
	 * 根据项目根目录及源文件扩展名创建Project对象
	 *
	 * @param path       项目根目录
	 * @param srcFileExt 源文件扩展名
	 */
	public DefaultProject(File path, String srcFileExt) throws ProjectException {
		super(path, srcFileExt);
	}

	/**
	 * 根据源文件列表创建Project对象
	 *
	 * @param srcFiles 源文件列表
	 */
	public DefaultProject(List<File> srcFiles) throws ProjectException {
		super(srcFiles);
	}

	/**
	 * 对于混合编程语言项目，该方法返回启动项目的字符串。
	 * 例如，java语言，该方法应该返回主类
	 * 对于Python语言，该方法应该返回主模块文件名的完整路径
	 *
	 * @return
	 */
	@Override
	public String resolveMain() {
		return getSrcFiles().get(0).getAbsolutePath();
	}
}
